#pragma once

#include "engine/core/base_app.h"
#include "engine/core/camera3d.h"


class Demo3d : public kanon::BaseApp
{
public:
    std::shared_ptr<kanon::Camera3d> camera;

    // custom renderer
    std::shared_ptr<kanon::MeshRenderer> mesh_renderer;
    std::shared_ptr<kanon::Model> model;

public:
    Demo3d();
    virtual ~Demo3d() {}

    virtual void Initialize() override;
    virtual void Render() override;
    virtual void RegisterEvents() override;
    virtual void RenderUI() override;
};
